{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 机器学习工程师纳米学位\n",
    "## 机器学习基础\n",
    "## 项目 0: 预测泰坦尼克号乘客生还率\n",
    "\n",
    "1912年，泰坦尼克号在第一次航行中就与冰山相撞沉没，导致了大部分乘客和船员身亡。在这个入门项目中，我们将探索部分泰坦尼克号旅客名单，来确定哪些特征可以最好地预测一个人是否会生还。为了完成这个项目，你将需要实现几个基于条件的预测并回答下面的问题。我们将根据代码的完成度和对问题的解答来对你提交的项目的进行评估。 \n",
    "\n",
    "> **提示**：这样的文字将会指导你如何使用 iPython Notebook 来完成项目。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "点击[这里](https://github.com/udacity/machine-learning/blob/master/projects/titanic_survival_exploration/titanic_survival_exploration.ipynb)查看本文件的英文版本。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 了解数据\n",
    "\n",
    "当我们开始处理泰坦尼克号乘客数据时，会先导入我们需要的功能模块以及将数据加载到 `pandas` DataFrame。运行下面区域中的代码加载数据，并使用 `.head()` 函数显示前几项乘客数据。 \n",
    "\n",
    "> **提示**：你可以通过单击代码区域，然后使用键盘快捷键 **Shift+Enter** 或 **Shift+ Return** 来运行代码。或者在选择代码后使用**播放**（run cell）按钮执行代码。像这样的 MarkDown 文本可以通过双击编辑，并使用这些相同的快捷键保存。[Markdown](http://daringfireball.net/projects/markdown/syntax) 允许你编写易读的纯文本并且可以转换为 HTML。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 检查你的Python版本\n",
    "from sys import version_info\n",
    "if version_info.major != 2 and version_info.minor != 7:\n",
    "    raise Exception('请使用Python 2.7来完成此项目')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   C85        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000  C123        S  \n",
       "4      0            373450   8.0500   NaN        S  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# 数据可视化代码\n",
    "from titanic_visualizations import survival_stats\n",
    "from IPython.display import display\n",
    "%matplotlib inline\n",
    "\n",
    "# 加载数据集\n",
    "in_file = 'titanic_data.csv'\n",
    "full_data = pd.read_csv(in_file)\n",
    "\n",
    "# 显示数据列表中的前几项乘客数据\n",
    "display(full_data.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从泰坦尼克号的数据样本中，我们可以看到船上每位旅客的特征\n",
    "\n",
    "- **Survived**：是否存活（0代表否，1代表是）\n",
    "- **Pclass**：社会阶级（1代表上层阶级，2代表中层阶级，3代表底层阶级）\n",
    "- **Name**：船上乘客的名字\n",
    "- **Sex**：船上乘客的性别\n",
    "- **Age**:船上乘客的年龄（可能存在 `NaN`）\n",
    "- **SibSp**：乘客在船上的兄弟姐妹和配偶的数量\n",
    "- **Parch**：乘客在船上的父母以及小孩的数量\n",
    "- **Ticket**：乘客船票的编号\n",
    "- **Fare**：乘客为船票支付的费用\n",
    "- **Cabin**：乘客所在船舱的编号（可能存在 `NaN`）\n",
    "- **Embarked**：乘客上船的港口（C 代表从 Cherbourg 登船，Q 代表从 Queenstown 登船，S 代表从 Southampton 登船）\n",
    "\n",
    "因为我们感兴趣的是每个乘客或船员是否在事故中活了下来。可以将 **Survived** 这一特征从这个数据集移除，并且用一个单独的变量 `outcomes` 来存储。它也做为我们要预测的目标。\n",
    "\n",
    "运行该代码，从数据集中移除 **Survived** 这个特征，并将它存储在变量 `outcomes` 中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Pclass                                               Name  \\\n",
       "0            1       3                            Braund, Mr. Owen Harris   \n",
       "1            2       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \n",
       "2            3       3                             Heikkinen, Miss. Laina   \n",
       "3            4       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \n",
       "4            5       3                           Allen, Mr. William Henry   \n",
       "\n",
       "      Sex   Age  SibSp  Parch            Ticket     Fare Cabin Embarked  \n",
       "0    male  22.0      1      0         A/5 21171   7.2500   NaN        S  \n",
       "1  female  38.0      1      0          PC 17599  71.2833   C85        C  \n",
       "2  female  26.0      0      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3  female  35.0      1      0            113803  53.1000  C123        S  \n",
       "4    male  35.0      0      0            373450   8.0500   NaN        S  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 从数据集中移除 'Survived' 这个特征，并将它存储在一个新的变量中。\n",
    "outcomes = full_data['Survived']\n",
    "data = full_data.drop('Survived', axis = 1)\n",
    "\n",
    "# 显示已移除 'Survived' 特征的数据集\n",
    "display(data.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个例子展示了如何将泰坦尼克号的 **Survived** 数据从 DataFrame 移除。注意到 `data`（乘客数据）和 `outcomes` （是否存活）现在已经匹配好。这意味着对于任何乘客的 `data.loc[i]` 都有对应的存活的结果 `outcome[i]`。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 计算准确率\n",
    "为了验证我们预测的结果，我们需要一个标准来给我们的预测打分。因为我们最感兴趣的是我们预测的**准确率**，既正确预测乘客存活的比例。运行下面的代码来创建我们的 `accuracy_score` 函数以对前五名乘客的预测来做测试。\n",
    "\n",
    "**思考题**：在前五个乘客中，如果我们预测他们全部都存活，你觉得我们预测的准确率是多少？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 60.00%.\n"
     ]
    }
   ],
   "source": [
    "def accuracy_score(truth, pred):\n",
    "    \"\"\" 返回 pred 相对于 truth 的准确率 \"\"\"\n",
    "    \n",
    "    # 确保预测的数量与结果的数量一致\n",
    "    if len(truth) == len(pred): \n",
    "        \n",
    "        # 计算预测准确率（百分比）\n",
    "        return \"Predictions have an accuracy of {:.2f}%.\".format((truth == pred).mean()*100)\n",
    "    \n",
    "    else:\n",
    "        return \"Number of predictions does not match number of outcomes!\"\n",
    "    \n",
    "# 测试 'accuracy_score' 函数\n",
    "predictions = pd.Series(np.ones(5, dtype = int)) #五个预测全部为1，既存活\n",
    "print accuracy_score(outcomes[:5], predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **提示**：如果你保存 iPython Notebook，代码运行的输出也将被保存。但是，一旦你重新打开项目，你的工作区将会被重置。请确保每次都从上次离开的地方运行代码来重新生成变量和函数。\n",
    "\n",
    "### 最简单的预测\n",
    "\n",
    "如果我们要预测泰坦尼克号上的乘客是否存活，但是我们又对他们一无所知，那么最好的预测就是船上的人无一幸免。这是因为，我们可以假定当船沉没的时候大多数乘客都遇难了。下面的 `predictions_0` 函数就预测船上的乘客全部遇难。  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predictions_0(data):\n",
    "    \"\"\" 不考虑任何特征，预测所有人都无法生还 \"\"\"\n",
    "\n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # 预测 'passenger' 的生还率\n",
    "        predictions.append(0)\n",
    "    \n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# 进行预测\n",
    "predictions = predictions_0(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**问题1**：对比真实的泰坦尼克号的数据，如果我们做一个所有乘客都没有存活的预测，这个预测的准确率能达到多少？\n",
    "\n",
    "**回答**： 61.62%\n",
    "\n",
    "**提示**：运行下面的代码来查看预测的准确率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 61.62%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 考虑一个特征进行预测\n",
    "\n",
    "我们可以使用 `survival_stats` 函数来看看 **Sex** 这一特征对乘客的存活率有多大影响。这个函数定义在名为 `titanic_visualizations.py` 的 Python 脚本文件中，我们的项目提供了这个文件。传递给函数的前两个参数分别是泰坦尼克号的乘客数据和乘客的 生还结果。第三个参数表明我们会依据哪个特征来绘制图形。\n",
    "\n",
    "运行下面的代码绘制出依据乘客性别计算存活率的柱形图。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nB4Dzzz+f3XbbjZEjR3LGGWd052ltkwEvSeo1b3vb21ixYgULFixYZfxZZ53Fe9/7Xh566CE+/OEP\n89RTT7W6/NKlS9ljjz2YOXMm++67L5deeikAJ598MscccwwPPvggRx11FKeccgp77bUX48eP5/zz\nz2fGjBlst912q6zr7LPP5uabb2bmzJlcd911Hda+dOlSdt99d2bOnMlpp53Gfffdx9KlSwG46qqr\nOOKII1aZf+LEiVx99dUrh6+++momTpzILbfcwqxZs7j//vuZMWMG06dP58477+z4yeskA16S1Ofu\nvPNOPvaxjwFwyCGHsNFGG7U63zrrrLOypbzrrrvy5JNPAnDvvffy0Y9+FICjjz6au+++u8Nt7r33\n3hx77LFceumlrFixosP5m5qa+Od//mcABgwYwEEHHcSvf/1rli9fzg033MChhx66yvw777wzCxYs\n4Omnn2bmzJlstNFGbLXVVtxyyy3ccsst7Lzzzuyyyy48+uijzJo1q8Ptd5b74CVJvebxxx+nqamJ\nzTbbjEceeaTTyw8cOHDlEeZNTU0sX768y7VcfPHF3Hfffdxwww3suuuuTJ8+nQEDBqw8CBBY5adq\ngwYNWmW/+xFHHMFFF13ExhtvzJgxYxg8ePBq25gwYQJTp07lmWeeYeLEiUDxO/cvfelLnHjiiV2u\nvR624GtFeOutm6S1zsKFCznppJP47Gc/u9rPwPbdd19+9rOfAXDTTTfxwgsvdGrde+21F1OmTAHg\nyiuvZJ999gFg8ODBLFmypNVlHnvsMXbffXfOPvtshg4dypw5cxg+fDgzZszg9ddfZ86cOdx///1t\nbvN973sfDzzwAJdeeulq3fPNJk6cyJQpU5g6derKffYHHnggP/nJT3j55ZcBmDdv3mq7LHqCLXhJ\nUsO8+uqrjB49mmXLljFgwACOPvpoTj311NXmO+OMMzjyyCMZMWIEe+21F1tvvXWntvP973+f4447\njvPPP5+hQ4fyH//xH0DRyv7kJz/JhRdeyNSpU1fZD//5z3+eWbNmkZnsv//+jBo1CoBtt92WHXbY\nge23355ddtmlzW02NTUxbtw4Lr/8ciZPntzqPCNGjGDJkiVsueWWbL755gAccMABPPLII+y5555A\ncfDeFVdcwWabbdapx9yRaOtIxTXBmDFjskevB2/Lsveswe87aU3xyCOPsP322/d1Geqi1l6/iJie\nmXX9ttAuekmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeElSQ33jG99gxIgRjBw5ktGj\nR3Pfffd1e53XXXcd5513Xg9UV/wOvYo80Y0krSXirJ4910ee0fH5LO69916uv/56HnjgAdZdd12e\ne+45/vGPf9S1/uXLlzNgQOsxNX78eMaPH9+petc2tuAlSQ0zf/58Nt10U9Zdd10ANt10U7bYYouV\nl1QFmDZtGmPHjgWKS6oeffTR7L333hx99NHssccePPTQQyvXN3bsWKZNm7bysq4vvvgi22yzzcrz\nxy9dupStttqKZcuW8dhjj3HQQQex6667ss8++/Doo48C8MQTT7Dnnnuy00478ZWvfKUXn43eZcBL\nkhrmgAMOYM6cObzzne/k05/+NHfccUeHyzz88MP89re/5ec///kql1ydP38+8+fPZ8yYN07ktuGG\nGzJ69OiV673++us58MADGThwICeccALf//73mT59Ot/5znf49Kc/DcCkSZP41Kc+xZ///OeVp4+t\nIgNektQwG2ywAdOnT+eSSy5h6NChTJw4kcsvv7zdZcaPH896660HwOGHH87UqVOB4nrqhx122Grz\nT5w4kauuugqAKVOmMHHiRF5++WXuueceJkyYwOjRoznxxBOZP38+AL///e858sgjgeLSslXlPnhJ\nUkM1NTUxduxYxo4dy0477cTkyZNXuSxr7SVZAdZff/2V97fccks22WQTHnzwQa666iouvvji1dY/\nfvx4Tj/9dJ5//nmmT5/Ofvvtx9KlSxkyZAgzZsxotaaWV7OrIlvwkqSG+etf/8qsWbNWDs+YMYNt\nttmG4cOHM336dAB+8YtftLuOiRMn8u1vf5sXX3yRkSNHrjZ9gw02YLfddmPSpEmMGzeOpqYm3vKW\nt7DttttyzTXXAMU12GfOnAnA3nvvvcqlZavKgJckNczLL7/MMcccww477MDIkSN5+OGHOfPMMznj\njDOYNGkSY8aMoampqd11HHbYYUyZMoXDDz+8zXkmTpzIFVdcwcSJE1eOu/LKK7nssssYNWoUI0aM\n4Fe/+hUA3/ve9/jBD37ATjvtxLx583rmgfZDXi621lrQZdNvrMHvO2lN4eVi12xeLlaSJK3GgJck\nqYIMeEmSKsiAl6QKW5OPs1qb9cTrZsBLUkUNGjSIRYsWGfJrmMxk0aJFDBo0qFvr8UQ3klRRw4YN\nY+7cuSxcuLCvS1EnDRo0iGHDhnVrHQa8JFXUwIED2Xbbbfu6DPURu+glSaogA16SpAoy4CVJqiAD\nXpKkCjLgJUmqIANekqQKMuAlSaogA16SpAoy4CVJqiADXpKkCjLgJUmqIANekqQKMuAlSaogA16S\npAoy4CVJqiADXpKkCjLgJUmqoIYHfEQ0RcSfIuL6cnjbiLgvImZHxFURsU45ft1yeHY5fXija5Mk\nqap6owU/CXikZvhbwL9l5tuBF4Djy/HHAy+U4/+tnE+SJHVBQwM+IoYBhwD/rxwOYD9gajnLZOBD\n5f1Dy2HK6fuX80uSpE5qdAv+34EvAK+Xw5sAizNzeTk8F9iyvL8lMAegnP5iOf8qIuKEiJgWEdMW\nLlzYyNolSVpjNSzgI2IcsCAzp/fkejPzkswck5ljhg4d2pOrliSpMgY0cN17A+Mj4gPAIOAtwPeA\nIRExoGylDwPmlfPPA7YC5kbEAGBDYFED65MkqbIa1oLPzC9l5rDMHA4cAfwuM48CbgMOK2c7BvhV\nef+6cphy+u8yMxtVnyRJVdYXv4P/InBqRMym2Md+WTn+MmCTcvypwGl9UJskSZXQyC76lTLzduD2\n8v7jwHtamec1YEJv1CNJUtV5JjtJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirI\ngJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICX\nJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySp\nggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIM\neEmSKsiAlySpggx4SZIqyICXJKmCOgz4iFg/It5U3n9nRIyPiIGNL02SJHVVPS34O4FBEbElcAtw\nNHB5I4uSJEndU0/AR2a+AnwE+GFmTgBGNLYsSZLUHXUFfETsCRwF3FCOa2pcSZIkqbvqCfhJwJeA\nX2bmQxHxNuC2xpYlSZK6Y0B7EyOiCRifmeObx2Xm48ApjS5MkiR1Xbst+MxcAby3l2qRJEk9pN0W\nfOlPEXEdcA2wtHlkZv5Xw6qSJEndUk/ADwIWAfvVjEvAgJckqZ/qMOAz87jeKESSJPWces5k986I\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4df04f9450>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Sex')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "观察泰坦尼克号上乘客存活的数据统计，我们可以发现大部分男性乘客在船沉没的时候都遇难了。相反的，大部分女性乘客都在事故中**生还**。让我们以此改进先前的预测：如果乘客是男性，那么我们就预测他们遇难；如果乘客是女性，那么我们预测他们在事故中活了下来。\n",
    "\n",
    "将下面的代码补充完整，让函数可以进行正确预测。  \n",
    "\n",
    "**提示**：您可以用访问 dictionary（字典）的方法来访问船上乘客的每个特征对应的值。例如， `passenger['Sex']` 返回乘客的性别。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predictions_1(data):\n",
    "    \"\"\" 只考虑一个特征，如果是女性则生还 \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # TODO 1\n",
    "        # 移除下方的 'pass' 声明\n",
    "        # 输入你自己的预测条件\n",
    "        if passenger['Sex'] == 'female':\n",
    "            predictions.append(1)\n",
    "        else:\n",
    "            predictions.append(0)\n",
    "            \n",
    "    \n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# 进行预测\n",
    "predictions = predictions_1(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**问题2**：当我们预测船上女性乘客全部存活，而剩下的人全部遇难，那么我们预测的准确率会达到多少？\n",
    "\n",
    "**回答**: 78.68%\n",
    "\n",
    "**提示**：你需要在下面添加一个代码区域，实现代码并运行来计算准确率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 78.68%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 考虑两个特征进行预测\n",
    "\n",
    "仅仅使用乘客性别（Sex）这一特征，我们预测的准确性就有了明显的提高。现在再看一下使用额外的特征能否更进一步提升我们的预测准确度。例如，综合考虑所有在泰坦尼克号上的男性乘客：我们是否找到这些乘客中的一个子集，他们的存活概率较高。让我们再次使用 `survival_stats` 函数来看看每位男性乘客的年龄（Age）。这一次，我们将使用第四个参数来限定柱形图中只有男性乘客。\n",
    "\n",
    "运行下面这段代码，把男性基于年龄的生存结果绘制出来。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n9a5l1vW1r32NO+64g6lTpzJhwoSVxr5o0SL22msvpk6dyumnn87EiRNZtGgRANdeey3HHXfcMvOP\nHDmS6667bunwddddx8iRI7nzzjt54oknePDBB5kyZQqTJ0/mvvvuW/mbt5pM9pKkNcJ9993Hxz/+\ncQCOOOIINt100zbnW3fddZeWoPfYYw+effZZAB544AE+9rGPATBq1Ch+97vfrXSb++67LyeeeCKX\nXXYZb7755krn79GjB//yL/8CQM+ePTn88MP51a9+xZIlS7j11ls58sgjl5l/t912Y86cOfztb39j\n6tSpbLrppmy33Xbceeed3Hnnney2227svvvuPPbYYzzxxBMr3f7q8pq9JKlTPf300/To0YMtt9yS\n6dOnr/LyvXr1WtpSvUePHixZsmS1Y7n44ouZOHEit956K3vssQeTJ0+mZ8+eSxsQAsvc/ta7d+9l\nrtMfd9xx/OhHP2KzzTZj6NChbLzxxstt45hjjuGGG27g+eefZ+TIkUBxH/0ZZ5zBmEa3oVgBk726\nTicd5F2mjoZL0tpm7ty5nHLKKXz+859f7tayAw44gKuvvpqzzjqL22+/nZdffnmV1r3PPvswfvx4\nRo0axVVXXcX+++8PwMYbb8zChQvbXOapp55ir732Yq+99uL2229nxowZ9O/fn4suuoi33nqLWbNm\n8eCDD65wmwceeCCf+MQnuOyyy5arwm8xcuRIPv3pT/Piiy9y7733AnDYYYdx9tlnc8IJJ7DRRhsx\na9YsevXqxZZbbrlK+1wvk70kqalef/11hgwZwuLFi+nZsyejRo3iS1/60nLznXPOORx//PEMHDiQ\nffbZh+23336VtvPDH/6Qk046ifPPP5++ffvy85//HChK35/+9Kf5wQ9+wA033LDMdfsvf/nLPPHE\nE2QmhxxyCIMHDwZgwIAB7Lzzzuy0007svvvuK9xmjx49GD58OFdccQXjxo1rc56BAweycOFCtt12\nW7beemsADj30UKZPn87ee+8NFA3/rrzyyqYl+1hRa8fuYOjQoWl/9t2YJXup6aZPn85OO+3U1WFo\nNbX1+UXE5MxcpfsVbaAnSVLFNS3ZR8TPImJORDxSM+78iHgsIh6OiF9GRJ+aaWdExJMR8XhEHNas\nuCRJWts0s2R/BXB4q3G/AXbJzEHA/wJnAETEzsBxwMBymYsiou3HEkmSpFXStGSfmfcBL7Uad2dm\n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\nVHH/P+VriMZB2iSiAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc1032990>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Age', [\"Sex == 'male'\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "仔细观察泰坦尼克号存活的数据统计，在船沉没的时候，大部分小于10岁的男孩都活着，而大多数10岁以上的男性都随着船的沉没而**遇难**。让我们继续在先前预测的基础上构建：如果乘客是女性，那么我们就预测她们全部存活；如果乘客是男性并且小于10岁，我们也会预测他们全部存活；所有其它我们就预测他们都没有幸存。  \n",
    "\n",
    "将下面缺失的代码补充完整，让我们的函数可以实现预测。  \n",
    "**提示**: 您可以用之前 `predictions_1` 的代码作为开始来修改代码，实现新的预测函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predictions_2(data):\n",
    "    \"\"\" 考虑两个特征: \n",
    "            - 如果是女性则生还\n",
    "            - 如果是男性并且小于10岁则生还 \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # TODO 2\n",
    "        # 移除下方的 'pass' 声明\n",
    "        # 输入你自己的预测条件\n",
    "        if passenger['Sex'] == 'female':\n",
    "            predictions.append(1)\n",
    "        elif passenger['Age'] < 10:\n",
    "            predictions.append(1)\n",
    "        else:\n",
    "            predictions.append(0)\n",
    "    \n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# 进行预测\n",
    "predictions = predictions_2(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**问题3**：当预测所有女性以及小于10岁的男性都存活的时候，预测的准确率会达到多少？\n",
    "\n",
    "**回答**: 79.35%\n",
    "\n",
    "**提示**：你需要在下面添加一个代码区域，实现代码并运行来计算准确率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 79.35%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 你自己的预测模型\n",
    "\n",
    "添加年龄（Age）特征与性别（Sex）的结合比单独使用性别（Sex）也提高了不少准确度。现在该你来做预测了：找到一系列的特征和条件来对数据进行划分，使得预测结果提高到80%以上。这可能需要多个特性和多个层次的条件语句才会成功。你可以在不同的条件下多次使用相同的特征。**Pclass**，**Sex**，**Age**，**SibSp** 和 **Parch** 是建议尝试使用的特征。   \n",
    "\n",
    "使用 `survival_stats` 函数来观测泰坦尼克号上乘客存活的数据统计。  \n",
    "**提示:** 要使用多个过滤条件，把每一个条件放在一个列表里作为最后一个参数传递进去。例如: `[\"Sex == 'male'\", \"Age < 18\"]`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nzgEHHMCkSZO44IILmD9/PrvuuuurpvXZz36WW265hQULFjBr1qwua1+5ciX77rsvCxYs4Mwzz+TO\nO+9k5cqVAFx99dUcd9xxrxp+ypQpXHPNNWtfX3PNNUyZMoXZs2ezcOFC7rrrLubPn8+8efOYM2dO\n12+eJKnPGfL9YM6cObzvfe8D4Oijj2bkyJHtDrfhhhuu3WPee++9eeyxxwC44447eO973wvA1KlT\n+c1vftPlPA888EDe//73c+mll7JmzZouh29paeFf/uVfABgyZAhHHnkkP/3pT1m9ejU33ngjxxxz\nzKuG33PPPVm2bBl//vOfWbBgASNHjmTHHXdk9uzZzJ49mz333JO99tqLBx98kIULF3Y5f0lS36vO\nOfkB4JFHHqGlpYWtt96aBx54oNvjDx06dG3L85aWFlavXt3jWi6++GLuvPNObrzxRvbee2/mzZvH\nkCFD1jYMBF71M7Zhw4a96jz8cccdx7e//W0233xzxo8fzyabbLLOPCZPnsx1113HE088wZQpU4Di\nd/Cf+tSnOLmv20hIkrrNkO8jTz31FKeccgqnnXbaOj8RO+SQQ7jqqqs4++yzufnmm3n22We7Ne0D\nDjiAmTNnMnXqVK688koOPvhgADbZZBNWrFjR7jgPP/ww++67L/vuuy8333wzixYtYtSoUVx00UW8\n8sorLFmyhLvuuqvDeb71rW/lAx/4AJdeeuk6h+pbTZkyhQ9/+MM8/fTT3HbbbQAcccQRnHPOOZxw\nwgmMGDGCJUuWMHToULbeeutuLbMGCP9ZkwY1Q74XXnrpJcaNG8eqVasYMmQIU6dO5eMf//g6w517\n7rkcf/zxjB49mgMOOIDXv/713ZrPt771LU488UQuuOACttpqK/7zP/8TKPa2P/zhD/PNb36T6667\n7lXn5c844wwWLlxIZnLYYYcxduxYAHbeeWd23313dtttN/baa68O59nS0sLEiRO57LLLuPzyy9sd\nZvTo0axYsYLtt9+ebbfdFoDDDz+cBx54gP333x8oGvRdccUVhrwkNUF01NJ7IBk/fny2vZ/8Aw88\nwG677dakitRbrr9Bwj15qSlixox5mdnr32Hb8E6SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQl\nSaooQ76XPv/5zzN69GjGjBnDuHHjuPPOO3s9zVmzZvGlL32pD6orfqcuSVo/VeZiOCf/tG9/z3vJ\nO7q+1ewdd9zBDTfcwN13381GG23E008/zd/+9re6pr969WqGDGn/7Z80aRKTJk3qVr2SJLXlnnwv\nLF26lC233JKNNtoIgC233JLttttu7e1YAebOncuECROA4nasU6dO5cADD2Tq1Knst99+3HfffWun\nN2HCBObOnbv2lrDPP/88O+2009rrza9cuZIdd9yRVatW8fDDD3PkkUey9957c/DBB/Pggw8C8Oij\nj7L//vuzxx57cPbZZ/fjuyFJGmgM+V44/PDDWbRoEW984xs59dRT116/vTP3338/v/jFL/jBD37w\nqtu1Ll26lKVLlzJ+/N8vcLTpppsybty4tdO94YYbOOKIIxg6dCgnnXQS3/rWt5g3bx5f/epXOfXU\nUwGYPn06H/nIR/jDH/6w9lKzkqT1kyHfCyNGjGDevHnMmDGDrbbaiilTpnDZZZd1Os6kSZMYPnw4\nAO95z3u47rrrgOJ+7Mcee+w6w0+ZMoWrr74agJkzZzJlyhRefPFFbr/9diZPnsy4ceM4+eSTWbp0\nKQC//e1vOf7444HitrSSpPVXZc7JN0tLSwsTJkxgwoQJ7LHHHlx++eWvuqVr7e1cATbeeOO1z7ff\nfnu22GIL7rnnHq6++mouvvjidaY/adIkzjrrLJ555hnmzZvHoYceysqVK9lss82YP39+uzW1vQue\nJGn95J58L/zxj39k4cKFa1/Pnz+fnXbaiVGjRjFv3jwAfvjDH3Y6jSlTpvCVr3yF559/njFjxqzT\nf8SIEeyzzz5Mnz6diRMn0tLSwmtf+1p23nlnrr32WqC4h/uCBQsAOPDAA5k5cyYAV155ZZ8spyRp\ncDLke+HFF19k2rRp7L777owZM4b777+f8847j3PPPZfp06czfvx4WlpaOp3Gsccey8yZM3nPe97T\n4TBTpkzhiiuuYMqUKWu7XXnllXz3u99l7NixjB49mp/85CcAfOMb3+DCCy9kjz32YMmSJX2zoJKk\nQclbzaopXH+DhLealZrCW81KkqROGfKSJFWUIS9JUkUN6pAfDO0JtC7XmyT1j0Eb8sOGDWP58uUG\nxiCTmSxfvpxhw4Y1uxRJqrxBezGcHXbYgcWLF/PUU081uxR107Bhw9hhhx2aXYYkVd6gDfmhQ4ey\n8847N7sMSZIGrIYdro+IHSPiVxFxf0TcFxHTy+6bR8TPI2Jh+Xdko2qQJGl91shz8quBT2Tm7sB+\nwEcjYnfgTOCXmfkG4Jfla0mS1McaFvKZuTQz7y6frwAeALYHjgEuLwe7HHhno2qQJGl91i+t6yNi\nFLAncCewTWYuLXs9AWzTwTgnRcTciJhr4zpJkrqv4SEfESOAHwL/lpkv1PbL4vdv7f4GLjNnZOb4\nzBy/1VZbNbpMSZIqp6EhHxFDKQL+ysz8Udn5yYjYtuy/LbCskTVIkrS+amTr+gC+CzyQmV+v6TUL\nmFY+nwb8pFE1SJK0Pmvk7+QPBKYCf4iI+WW3s4AvAddExAeBPwEd30hdkiT1WMNCPjN/A0QHvQ9r\n1HwlSVJh0F67XpIkdc6QlySpogx5SZIqypCXJKmiDHlJkirKkJckqaIMeUmSKsqQlySpogx5SZIq\nqpGXte0zf3r+T5z805ObXYa03rmk2QVI6hX35CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16S\npIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSK\nMuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLk\nJUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJ\nqihDXpKkijLkJUmqKENekqSKMuQlSaooQ16SpIoy5CVJqihDXpKkijLkJUmqKENekqSKMuQlSaoo\nQ16SpIoy5CVJqqguQz4iNo6IDcrnb4yISRExtPGlSZKk3qhnT34OMCwitgdmA1OByxpZlCRJ6r16\nQj4y8y/Au4GLMnMyMLqxZUmSpN6qK+QjYn/gBODGsltLHSN9LyKWRcS9Nd3Oi4glETG/fBzVs7Il\nSVJX6gn56cCngB9n5n0RsQvwqzrGuww4sp3u/19mjisfN9VfqiRJ6o4hnfWMiBZgUmZOau2WmY8A\np3c14cycExGjelugJEnqmU735DNzDXBQH8/ztIi4pzycP7KjgSLipIiYGxFzX37+5T4uQZKk6qvn\ncP3vI2JWREyNiHe3Pno4v+8AuwLjgKXA1zoaMDNnZOb4zBw/bNNhPZydJEnrr04P15eGAcuBQ2u6\nJfCj7s4sM59sfR4RlwI3dHcakiSpPl2GfGae2Fczi4htM3Np+fJdwL2dDS9JknqunivevTEiftn6\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc0fc97d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Age', [\"Sex == 'male'\", \"Age < 18\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当查看和研究了图形化的泰坦尼克号上乘客的数据统计后，请补全下面这段代码中缺失的部分，使得函数可以返回你的预测。   \n",
    "在到达最终的预测模型前请确保记录你尝试过的各种特征和条件。   \n",
    "**提示:** 您可以用之前 `predictions_2` 的代码作为开始来修改代码，实现新的预测函数。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# PClass\n",
    "根据提示，看看Pclass对存活率的影响。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nTPC94J3vfCfLly9nwYIFbyo/66yz2HPPPZk1axYf/vCHeeKJJ9rcfunSpey6667MnDmTvffemwsv\nvBCAz372sxxzzDHce++9HH300ZxyyinsvvvujB8/nnPOOYcZM2awxRZbvKmur3/96/z+979n5syZ\nTJkypcPYly5dyi677MLMmTM59dRTmTp1KkuXLgXgiiuu4Mgjj3zT+hMmTODKK69cMX/llVcyYcIE\nbrrpJh566CHuvvtuZsyYwfTp07n99ts7fvEkSV1igu9Dt99+Ox/72McAOOigg1hvvfXaXG/NNddc\n0VLecccdefzxxwG48847+ehHPwrAxIkTueOOOzrc5x577MGxxx7LhRdeyPLlyztcv6mpiX/7t38D\nYMCAARxwwAH85je/4bXXXuOGG27gkEMOedP622+/PQsWLODJJ59k5syZrLfeeowcOZKbbrqJm266\nie23354ddtiBBx54gIceeqjD/UuSuqb6x+BXAY8++ihNTU1suOGG3H///Z3efuDAgStGmDc1NfHa\na691OZbzzz+fqVOncsMNN7Djjjsyffp0BgwYsGIQIPCmU9UGDRr0puPuRx55JD/60Y9Yf/31aW5u\nZvDgwW/Zx+GHH87VV1/NU089xYQJE4DiPPfTTjuNE088scuxS5LqZwu+wRYuXMhJJ53EySef/JbT\nwPbee28uu+wyAH7729/y3HPPdaru3XffncmTJwNw6aWXstdeewEwePBgFi9e3OY2jzzyCLvssgtf\n//rXGTZsGHPmzGHUqFHMmDGD119/nTlz5nD33XevdJ/ve9/7uOeee7jwwgvf0j3fYsKECUyePJmr\nr756xTH7/fffn5///OcsWbIEgHnz5r3lkIUkioHBq8NDDWcLvgFefvllxo4dy7JlyxgwYAATJ07k\nc5/73FvWO+OMMzjqqKMYPXo0u+++O5tuummn9vPDH/6Q4447jnPOOYdhw4bxi1/8Aiha2ccffzzn\nnXceV1999ZuOw3/hC1/goYceIjPZd999GTNmDACbb745W2+9NVtttRU77LDDSvfZ1NTEwQcfzMUX\nX8wll1zS5jqjR49m8eLFbLLJJgwfPhyA/fbbj/vvv5/ddtsNKAbv/epXv2LDDTfs1HOWJNUnVjZy\nuz9obm7O1veDv//++9lqq636KCJ1l/8/rfZWl9ZtP849fS0ipmdmh+db20UvSVIFmeAlSaogE7wk\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc0d61910>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Pclass')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到底层阶级乘客， 不存活率很高。\n",
    "\n",
    "中上层乘客存活率高一些，\n",
    "\n",
    "再加上性别的筛选看看。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n976X1atX89xzz71l/DnnnMM+++zDQw89xMc+9jGeeuqpFudfuXIle+yxB3PmzGHMmDFceumlAHzu\nc5/j2GOP5cEHH+SYY47h1FNPZa+99mL8+PGcd955zJ49m/e9731vWdbXvvY1fvGLXzBnzhxuuumm\ndmtfuXIlu+++O3PmzOH0009nxowZrFy5EoCrr76ao4466i3TT5w4kWuuuWbN8DXXXMPEiRO5/fbb\nmT9/Pvfffz+zZ89m1qxZ3HPPPe2/eB1giEuSusw999zDJz/5SQAOPfRQNt100xan23DDDde0eHfd\ndVeefPJJAO677z4+8YlPADBp0iR+85vftLvOvffem+OOO45LL72U1atXtzt9Q0MD//iP/whAr169\nOPjgg/nZz37G66+/zi233MJhhx32lul33nlnnnvuOZ5++mnmzJnDpptuyjbbbMPtt9/O7bffzs47\n78wuu+zCww8/zPz589tdf0e4T1yStM49/vjjNDQ0sMUWWzBv3rwOz9+7d+81PbcbGhp4/fXX17qW\niy++mBkzZnDLLbew6667MmvWLHr16rWm4x3wlsO8+vTp85b94EcddRQXXnghm222GaNHj6Z///5v\nW8eECRO47rrreOaZZ5g4cSJQHAf+5S9/mZNOOmmta2+PIb4ei3N6xiEnOaX9TjeSus6SJUs4+eST\nOeWUU952CNWYMWO48sorOfPMM7ntttt44YUXOrTsvfbai+nTpzNp0iSmTZvGvvvuC0D//v1ZsWJF\ni/M89thj7L777uy+++7cdtttLFiwgKFDh3LRRRfxxhtvsGjRIu6///5W17nffvvxz//8z1x66aVv\n25TeaOLEiZxwwgksXbqUu+++G4CDDjqIs846i2OOOYZ+/fqxaNEievfuzRZbbNGh59wWQ1yS1Gmv\nvPIKo0aNYtWqVfTq1YtJkyZx2mmnvW26KVOmcPTRRzN8+HD22msvtt122w6t5wc/+AHHH3885513\nHoMGDeLHP/4xULSWTzjhBC644AKuu+66t+wX/8IXvsD8+fPJTA444ABGjhwJwLBhw9hhhx3Yfvvt\n2WWXXVpdZ0NDA+PGjePyyy9n6tSpLU4zfPhwVqxYwdZbb82WW24JwIEHHsi8efPYc889gaLD3BVX\nXLFOQzxa6xn4TjJ69Oj0euIdZ0tc6hnmzZvH9ttv391laC219P5FxKzMbPe4PDu2SZJUUYa4JEkV\nZYhLklRRhrgkSRVliEuSVFGGuCRJFWWIS5LWiW984xsMHz6cESNGMGrUKGbMmNHpZd50002ce+65\n66C64jjt9Y0ne5Gk9cy6PkdELediuO+++7j55pt54IEH2GijjVi6dCmvvfZaTct//fXX6dWr5Tga\nP34848eP71C9PYktcUlSpy1evJjNN9+cjTbaCIDNN9+crbbaas3lOgFmzpzJ2LFjgeJynZMmTWLv\nvfdm0qRJ7LHHHjz00ENrljd27Fhmzpy55pKhL774IkOGDFlzvvOVK1eyzTbbsGrVKh577DEOPvhg\ndt11V/bdd18efvhhAJ544gn23HNPdtppJ84888wufDW6jiEuSeq0Aw88kAULFvDBD36Qz372s2vO\nH96WuXPn8qtf/YqrrrrqLZfzXLx4MYsXL2b06DdPWPbud7+bUaNGrVnuzTffzEEHHUTv3r058cQT\n+cEPfsCsWbM4//zz+exnPwvA5MmT+cxnPsOf/vSnNadCXd8Y4pKkTuvXrx+zZs3ikksuYdCgQUyc\nOJHLL7+8zXnGjx9P3759ATjyyCO57rrrgOJ63EccccTbpp84cSJXX301ANOnT2fixIm8/PLL/O53\nv2PChAmMGjWKk046icWLFwPw29/+lqOPPhooLlu6PnKfuCRpnWhoaGDs2LGMHTuWnXbaialTp77l\nkp9NL/cJsMkmm6y5v/XWWzNw4EAefPBBrr76ai6++OK3LX/8+PGcccYZPP/888yaNYv999+flStX\nMmDAAGbPnt1iTc2vora+sSUuSeq0Rx55hPnz568Znj17NkOGDGHo0KHMmjULgOuvv77NZUycOJHv\nfOc7vPjii4wYMeJtj/fr14/ddtuNyZMnM27cOBoaGnjXu97FsGHDuPbaa4HiGt5z5swBYO+992b6\n9OkATJs2bZ08z3caQ1yS1Gkvv/wyxx57LDvssAMjRoxg7ty5nH322UyZMoXJkyczevRoGhoa2lzG\nEUccwfTp0znyyCNbnWbixIlcccUVTJw4cc24adOmcdlllzFy5EiGDx/OjTfeCMD3v/99fvjDH7LT\nTjuxaNGidfNE32G8FOl6zEuRSj2DlyKtNi9FKklSD2SIS5JUUYa4JEkVZYhL0nqgCv2b9Hadfd8M\ncUmquD59+rBs2TKDvGIyk2XLltGnT5+1XoYne5Gkihs8eDALFy5kyZIl3V2KOqhPnz4MHjx4rec3\n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\nLYHnWpo3My/JzNGZOXrQoEH1LFOSpEqqZ+/0AC4D5mXm95o8dBNwbHn/WODGetUgSdL6rFcdl703\nMAn4U0TMLsedAZwLXBMRnwL+AhxZxxokSVpv1S3EM/M3QLTy8AH1Wq8kST2FZ2yTJKmiDHFJkirK\nEJckqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCX\nJKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySp\nogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIM\ncUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQlySpogxxSZIqyhCX1kZEz7hJ\nekczxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSK\n6pkh3t2nsvSUmZKkdaBnhrgkSesBQ1ySpIoyxCVJqihDXJKkijLEJUmqqG4J8Yg4OCIeiYhHI+L0\n7qhBkqSq6/IQj4gG4IfAR4AdgKMjYoeurkOSpKrrjpb4h4BHM/PxzHwNmA4c1g11SJJUad0R4lsD\nC5oMLyzHSZKkDojM7NoVRhwBHJyZny6HJwG7Z+YpzaY7ETixHNwOeKRLC9Xa2hxY2t1FqNL8DKmz\n1ofP0JDMHNTeRL26opJmFgHbNBkeXI57i8y8BLikq4rSuhERMzNzdHfXoeryM6TO6kmfoe7YnP4H\n4AMRMSwiNgSOAm7qhjokSaq0Lm+JZ+brEXEK8AugAfi/mflQV9chSVLVdcfmdDLzVuDW7li36s5d\nIOosP0PqrB7zGeryjm2SJGnd8LSrkiRVlCGudSIi/m9EPBcRf+7uWlRNEbFNRNwZEXMj4qGImNzd\nNalaIqJPRNwfEXPKz9A53V1Tvbk5XetERIwBXgb+X2bu2N31qHoiYktgy8x8ICL6A7OAwzNzbjeX\npoqIiAA2ycyXI6I38Btgcmb+vptLqxtb4lonMvMe4PnurkPVlZmLM/OB8v4KYB6ezVEdkIWXy8He\n5W29bqka4pLecSJiKLAzMKN7K1HVRERDRMwGngN+mZnr9WfIEJf0jhIR/YDrgX/NzJe6ux5VS2au\nzsxRFGcD/VBErNe79wxxSe8Y5X7M64FpmfmT7q5H1ZWZy4E7gYO7u5Z6MsQlvSOUnZIuA+Zl5ve6\nux5VT0QMiogB5f2+wD8AD3dvVfVliGudiIirgPuA7SJiYUR8qrtrUuXsDUwC9o+I2eXtkO4uSpWy\nJXBnRDxIcZ2OX2bmzd1cU115iJkkSRVlS1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSKMsSlHiAi\nVpeHbP05Iq6NiI3bmPbsiPg/XVmfpLVjiEs9wyuZOaq8wtxrwMndXZCkzjPEpZ7nXuD9ABHxTxHx\nYHn95f9uPmFEnBARfygfv76xBR8RE8pW/ZyIuKccN7y8lvPscpkf6NJnJfVAnuxF6gEi4uXM7BcR\nvSjOTf5z4B7gp8Bembk0IjbLzOcj4mzg5cw8PyIGZuaychn/BjybmT+IiD8BB2fmoogYkJnLI+IH\nwO8zc1pEbAg0ZOYr3fKEpR7ClrjUM/QtL884E3iK4hzl+wPXZuZSgMxs6XrwO0bEvWVoHwMML8f/\nFrg8Ik4AGspx9wFnRMSXgCEGuFR/vbq7AEld4pXy8oxrFNcbadflwOGZOScijgPGAmTmyRGxO3Ao\nMCsids3MKyNiRjnu1og4KTN/vQ6fg6RmbIlLPdevgQkRMRAgIjZrYZr+wOLyEqHHNI6MiPdl5ozM\n/CqwBNgmIt4LPJ6ZFwA3AiPq/gykHs6WuNRDZeZDEfEN4O6IWA38ETiu2WRnATMognoGRagDnFd2\nXAvgDmAO8CVgUkSsAp4Bvln3JyH1cHZskySpotycLklSRRnikiRVlCEuSVJFGeKSJFWUIS5JUkUZ\n4pIkVZQhLklSRRnikiRV1P8H84UaPXvORocAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc0cd7590>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Pclass', [\"Sex == 'female'\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "中上层女性几乎都存活了，可以作为一个决策条件。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predictions_tmp(data):\n",
    "    \"\"\" 考虑三个特征: \n",
    "            - 如果是女性并处于中上阶级则生还\n",
    "            - 如果是男性并且小于10岁则生还 \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # TODO 3\n",
    "        # 移除下方的 'pass' 声明\n",
    "        # 输入你自己的预测条件\n",
    "        if passenger['Sex'] == 'female':\n",
    "            if passenger['Pclass'] < 3:\n",
    "                predictions.append(1)\n",
    "            else:\n",
    "                predictions.append(0)\n",
    "        elif passenger['Age'] < 10:\n",
    "            predictions.append(1)\n",
    "        else:\n",
    "            predictions.append(0)\n",
    "    \n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# 进行预测\n",
    "predictions = predictions_tmp(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 79.35%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "神奇的是准确率没有变化。。。\n",
    "\n",
    "分析原因，应该是由于底层阶级的也有一半女性存活了，直接判定她们没有存活，就不准确了。\n",
    "\n",
    "看看在底层阶级的女性中，还有什么决定了她们的存活几率。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 底层阶级的女性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\ntowFCxasMPyss87i3e9+N/fffz8f+tCHePzxxzucfunSpey5557MmjWL/fbbj4svvhiAz3zmMxxz\nzDHcc889HH300ZxyyinsvffejBs3jnPOOYeZM2fy1re+dYV5ffnLX+YXv/gFs2bN4rrrruu29qVL\nl7LHHnswa9YsTjvtNO68806WLl0KwBVXXMGRRx65wvjjx4/nyiuvXN5/5ZVXMn78eG6++WbmzJnD\nXXfdxcyZM5kxYwbTpk3r/sXrgd5oif99Zo7OzLZtKacBt2Tm24Fbyn5JUj8wbdo0PvrRjwJwyCGH\nsPHGHbfj1l577eUt3t12243HHnsMgNtvv52PfOQjAEyYMIHf/e533S5zn3324dhjj+Xiiy9m2bJl\n3Y7f0tLCP/7jPwIwYMAADj74YH72s5/x2muvccMNN3DooYeuMP4uu+zCggUL+Otf/8qsWbPYeOON\n2Wabbbj55pu5+eab2WWXXdh111158MEHmTNnTrfL74lm7BM/FBhTdk8GbgO+0IQ6JEkN8uijj9LS\n0sLmm2/O7Nmzezz9wIEDlx+53dLSwmuvvbbStVx44YXceeed3HDDDey2227MmDGDAQMGLD/wDljh\nNK9BgwatsB/8yCOP5Pzzz2eTTTahtbWVIUOGvGkZhx9+OFOnTuXJJ59k/PjxQHEe+Be/+EVOPPHE\nla69O40O8QRujogEfpCZFwFbZOb88vkngS06mjAiTgBOANh2220bXObqFWc19lSPnNT9QSaS1CwL\nFy7kpJNO4uSTT37TKVT77bcfP/7xjznjjDO46aabWLx4cY/mvffeezNlyhQmTJjA5Zdfzr777gvA\nkCFDWLJkSYfTPPLII+yxxx7sscce3HTTTTzxxBMMHz6c733ve7z++uvMmzePu+66q9Nlvuc97+Fj\nH/sYF1988Zs2pbcZP348xx9/PE8//TS/+c1vADjooIP40pe+xNFHH83666/PvHnzGDhwIJtvvnmP\n1rkrjQ7xd2fmvIjYHPhlRDxY+2RmZhnwb1IG/kUAra2tppYkrcFeeuklRo8ezauvvsqAAQOYMGEC\np5566pvGmzRpEkcddRQjR45k77337nEj7bvf/S7HHXcc55xzDkOHDuVHP/oRULSWjz/+eL7zne8w\nderUFfaLf+5zn2POnDlkJgcccACjRo0CYMSIEey4447ssMMO7Lrrrp0us6WlhbFjx3LppZcyefLk\nDscZOXIkS5YsYeutt2bLLbcE4MADD2T27NnstddeQHHA3GWXXbZaQzw6OzJwdYuIM4EXgOOBMZk5\nPyK2BG7LzO27mra1tTWrdD9xW+KSetPs2bPZYYcdml2GVlJH719EzKg5lqxTDTuwLSLWi4ghbd3A\ngcB9wHXAMeVoxwDXNqoGSZL6skZuTt8C+Gm5P2QA8OPM/HlE3A1cGREfB/4CHNHAGiRJ6rMaFuKZ\n+SgwqoPhi4ADGrVcSZL6C6/YJklSRRnikiRVlCEuSVJFGeKSpNXiq1/9KiNHjmTnnXdm9OjR3Hnn\nnas8z+uuu46zzz57NVRXnKfd13grUknqY1b3tSrquTbF7bffzvXXX88f//hH1llnHZ5++mleeeWV\nuub/2muvMWBAx3E0btw4xo0b16N6+xNb4pKkVTZ//nw222wz1llnHQA222wzttpqq+W36wSYPn06\nY8aMAYrbdU6YMIF99tmHCRMmsOeee3L//fcvn9+YMWOYPn368luGPvfcc2y33XbLr3e+dOlSttlm\nG1599VUeeeQRDj74YHbbbTf23XdfHnywuDjon//8Z/baay922mknzjjjjF58NXqPIS5JWmUHHngg\nTzzxBO94xzv41Kc+tfz64V154IEH+NWvfsVPfvKTFW7nOX/+fObPn09r6xsXLNtwww0ZPXr08vle\nf/31HHTQQQwcOJATTjiB7373u8yYMYNvfvObfOpTnwJg4sSJfPKTn+Tee+9dfinUvsYQlyStsvXX\nX58ZM2Zw0UUXMXToUMaPH8+ll17a5TTjxo1j8ODBABxxxBFMnToVKO7Hfdhhh71p/PHjx3PFFVcA\nMGXKFMaPH88LL7zAH/7wBw4//HBGjx7NiSeeyPz5xT22fv/733PUUUcBxW1L+yL3iUuSVouWlhbG\njBnDmDFj2GmnnZg8efIKt/ysvd0nwHrrrbe8e+utt2bTTTflnnvu4YorruDCCy980/zHjRvH6aef\nzjPPPMOMGTPYf//9Wbp0KRtttBEzZ87ssKb2d1Hra2yJS5JW2UMPPcScOXOW98+cOZPtttuO4cOH\nM2PGDACuvvrqLucxfvx4vvGNb/Dcc8+x8847v+n59ddfn913352JEycyduxYWlpa2GCDDRgxYgRX\nXXUVUNzDe9asWQDss88+TJkyBYDLL798taznmsYQlyStshdeeIFjjjmGHXfckZ133pkHHniAM888\n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\nQ1ySpIoyxCVJqiiPTtcqi7Mae/R7TvLod0nqiC1xSZIqyhCXJKmiDHFJkirKEJckqaIMcUmSKsoQ\nlySpogxxSZIqyhCXJKmiGhbiEfGfEbEgIu6rGbZJRPwyIuaUfzdu1PIlSerrGtkSvxQ4uN2w04Bb\nMvPtwC1lvyRJWgkNC/HMnAY8027wocDksnsy8MFGLV+SpL6ut/eJb5GZ88vuJ4Etenn5kiT1GU07\nsC0zE+j0zhYRcUJETI+I6QsXLuzFyiRJqobeDvGnImJLgPLvgs5GzMyLMrM1M1uHDh3aawVKklQV\nvR3i1wHHlN3HANf28vIlSeozGnmK2U+A24HtI2JuRHwcOBv4h4iYA7y37JckSSthQKNmnJlHdfLU\nAY1apiRJ/YlXbJMkqaIMcUmSKsoQlySpogxxSZIqyhCXJKmiDHFJkirKEJckqaIadp641BfFWdHQ\n+eekTm8nIElvYktckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1yS\npIoyxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSK\nMsQlSaooQ1ySpIoyxCVJqihDXJKkijLEJUmqKENckqSKMsQlSaooQ1ySpIoyxCVJqihDXJKkijLE\nJUmqqAHNLkCS1ImIxs07s3HzVq+xJS5JUkUZ4pIkVZQhLklSRRnikiRVlCEuSVJFeXS6pOpo5NHa\n4BHbqhxb4pIkVZQhLklSRRnikiRVlCEuSVJFGeKSJFWUIS5JUkV5iplUZQ0+5SrObOjsyUme0tUs\ncVZjPzs9fm89fXCl2BKXJKmimhLiEXFwRDwUEQ9HxGnNqEGSpKrr9RCPiBbgAuB9wI7AURGxY2/X\nIUlS1TWjJf4u4OHMfDQzXwGmAIc2oQ5JkiqtGSG+NfBETf/ccpgkSeqByF4+Yi8iDgMOzsxPlP0T\ngD0y8+R2450AnFD2bg881KuF9q7NgKebXUQv6k/r25/WFVzfvqw/rSs0f323y8yh3Y3UjFPM5gHb\n1PQPK4etIDMvAi7qraKaKSKmZ2Zrs+voLf1pffvTuoLr25f1p3WF6qxvMzan3w28PSJGRMTawJHA\ndU2oQ5KkSuv1lnhmvhYRJwO/AFqA/8zM+3u7DkmSqq4pV2zLzBuBG5ux7DVUv9htUKM/rW9/Wldw\nffuy/rSuUJH17fUD2yRJ0urhZVclSaooQ7yJ+tvlZyPiPyNiQUTc1+xaGi0itomIWyPigYi4PyIm\nNrumRoqIQRFxV0TMKtf3rGbX1GgR0RIRf4qI65tdS6NFxGMRcW9EzIyI6c2up9EiYqOImBoRD0bE\n7IjYq9k1dcbN6U1SXn72f4F/oLjgzd3AUZn5QFMLa6CI2A94AfivzHxns+tppIjYEtgyM/8YEUOA\nGcAH++r7GxEBrJeZL0TEQOB3wMTMvKPJpTVMRJwKtAIbZObYZtfTSBHxGNCamf3iPPGImAz8NjN/\nWJ5FtW5mPtvsujpiS7x5+t3lZzNzGvBMs+voDZk5PzP/WHYvAWbTh69MmIUXyt6B5aPPthAiYhhw\nCPDDZtei1SsiNgT2Ay4ByMxX1tQAB0O8mbz8bD8REcOBXYA7m1tJY5Wbl2cCC4BfZmZfXt//AD4P\nvN7sQnpJAjdHxIzyapp92QhgIfCjcnfJDyNivWYX1RlDXGqgiFgfuBr4p8x8vtn1NFJmLsvM0RRX\nYXxXRPTJXSYRMRZYkJkzml1LL3p3Zu5KcffJT5e7xvqqAcCuwPczcxdgKbDGHrNkiDdPXZefVXWV\n+4avBi7PzP9pdj29pdz0eCtwcLNraZB9gHHlfuIpwP4RcVlzS2qszJxX/l0A/JRid2BfNReYW7Ml\naSpFqK+RDPHm8fKzfVh5oNclwOzM/Faz62m0iBgaERuV3YMpDth8sLlVNUZmfjEzh2XmcIrv7a8z\n86NNLqthImK98uBMys3KBwJ99gyTzHwSeCIiti8HHQCssQekNuWKbeqfl5+NiJ8AY4DNImIuMCkz\nL2luVQ2zDzABuLfcTwxwenm1wr5oS2ByedbFWsCVmdnnT73qJ7YAflr8LmUA8OPM/HlzS2q4zwCX\nlw2sR4HjmlxPpzzFTJKkinJzuiRJFWWIS5JUUYa4JEkVZYhLklRRhrgkSRVliEv9REQsK+9CdV9E\nXBUR666GeR4bEeevjvok9ZwhLvUfL2Xm6PIOcq8AJ9U7YXn+t6Q1jCEu9U+/Bd4GEBHXlDe2uL/2\n5hYR8UJEnBsRs4C9ImL3iPhDec/wu9qu4gVsFRE/j4g5EfGNJqyL1G95xTapn4mIARQ3smi76tbH\nMvOZ8nKpd0fE1Zm5CFgPuDMzP1teuepBYHxm3h0RGwAvldOPprhL29+AhyLiu5n5BJIazhCX+o/B\nNZeA/S3l/ZKBUyLiQ2X3NsDbgUXAMoobuABsD8zPzLsB2u7IVl6K85bMfK7sfwDYjhVvsyupQQxx\nqf94qbxV6HIRMQZ4L7BXZr4YEbcBg8qnX87MZXXM92813cvw/4rUa9wnLvVvGwKLywD/O2DPTsZ7\nCNgyInYHiIgh5WZ5SU3kl1Dq334OnBQRsymC+o6ORsrMVyJiPPDdct/5SxQteElN5F3MJEmqKDen\nS5JUUYa4JEkVZYhLklRRhrgkSRVliEuSVFGGuCRJFWWIS5JUUYa4JEkV9f8Bz5zIQBQaKhoAAAAA\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc0ccce50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Parch', [\"Sex == 'female'\", \"Pclass == 3\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfEAAAGDCAYAAAA72Cm3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcXFWZ8PHfQycQJCBb4AUCJKIyECEBGtkEMqCAEoM6\nQEDMgKMsKhJHXxURBFzGBdRxARFkJO+wBIgKyDJGkcUFwQQTlG3CJiQEskAgRJAkPO8f93Zsml5u\nJ11ducnv+/nUp+veuvfcp6qr6qlz7rnnRGYiSZLqZ61mByBJklaMSVySpJoyiUuSVFMmcUmSasok\nLklSTZnEJUmqKZO4tBIi4piImNIH5RwXEb/ti5hW8PgXRMQZK7DfNhHxQkS0NCKuvjh+RGREvLEB\nx74pIo4t7zf1/6c1l0l8NRIRj0XEi+WX2tMRcUlEDG52XP0tIoZGxE8iYn5EPBcRf4mI4xpxrMy8\nLDMPakTZ7UXEhyLigYhYVP5vb4yI9cvHLomIL/eirNcknMw8KTO/VGHfxyLi7e32ezwzB2fmst48\nn27K/2FE/KDd8sCIWNzFuj07Hj8ibo2ID6/E8c+KiLPaLZ8WEY+Wn6lZEXFl22OZ+c7MnFix3BER\nMSUinomIhRExLSLeVXHfS7p6/5bxLinja7t9pkq5PRzzVf9nrbpM4qufd2fmYGBXoBU4vcnxNFRE\nDOhk9X8DTwDbApsA44Gn+7D8fhUR+wP/ARydmesDOwBXdr9Xbd0O7NduuRV4HNi3wzqAaY0MpKxl\njwfeXn6mWoGbV7C4nwO/BP4PsBlwCvB8X8QJXFn+kGm7faOPyl1hq8LnZk1hEl9NZeZs4CbgLQAR\n8cGIuL+syT0SESe2bRsRm0bE9WUN4ZmI+E1ErFU+9tmImF3u92BEHFiuXysiTo2IhyNiQURcFREb\nl48NK5swj42Ix8sa8efbHW/diJgYEc+WMX0mIma1e3zLsiY9r6wFndLusbMiYnJEXBoRzwPHdfL0\ndwcuyczFmbk0M/+UmTeV+49uf6xy3fJaRyfln1a2bmzcbvtdyuc0sH2tNiJ+EBHndij72oj4ZHm/\n7fVaFBH3RcR7K/47dwfuyMw/AWTmM5k5MTMXRcQJwDHAZ8pa2M+7O1ZE7ABcAOxVbr+wXL+8Nt/V\n+yEi/hvYBvh5W42v3f96QLnvxhHx44h4svz/XtNdmZ0819uBHSJi03J5X2ASsF6HdXdk5pL2x4+I\nr5SPfb+M7/vtyn17RMwsj39eRETF1/0Xmflw+bo/lZkXtj0Yr631R0R8P4rWnwfafVY2BYYDF2Xm\ny+Xtd5nZ9r4ZHUUt/7TyffVYRBxTIb5uRcTrI+LiiJhTfoa/HOVph4jYLiJ+XX5250fEZRGxYflY\nZ//n3n5ujotuviPUhzLT22pyAx6jqDUAbA3cC3ypXD4U2A4IYH/gb8Cu5WNfpfhiH1je9i23256i\nRrtlud0wYLvy/gTgD8BQYB3gh8AV7bZL4CJgXWAk8Hdgh/LxrwG3ARuV+98DzCofW4uihvUFYG3g\nDcAjwMHl42cBS4D3lNuu28nr8Cvgd8BRwDYdHhvddqwuXrfXlA/8Gji+3fbnABeU948Dflve3698\nvaJc3gh4sd3rdwSwZVnuOGAxsEXHcjp5PvuW5ZwN7AOs0+HxS4Avd1jXq2O1L6Or90PH16rD/3pA\nuXwDRSvBRuW++/dUZifP91HgveX964EDgMs6rPtCF8e/Ffhwh/Ky3GdDiuQ0DzikwufpA8AzwKcp\nauEtHR5ffqzyNV0K/Hv5/MYBzwEbU3yWZpYxvAfYvJP35FLgWxSfpf3L/9f2FWI8C7i0i8d+RvG5\nXI+i9n8XcGL52BuBd5THG0Lx4+k/O/tMrMTnpsvvCG99d7Mmvvq5pqxd/ZYiUf4HQGbekJkPZ+E2\nYAr/aKJcAmwBbJuZSzLzN1l8MpdRfPh2jIiBmflYlrUS4CTg85k5KzP/TvEhPjxe3Yx2dma+mJkz\ngBkUyRzgSOA/MvPZzJwFfLfdPrsDQzLzi1nUWB6h+DFwVLtt7sjMazLzlcx8sZPX4AjgN8AZwKMR\nMT0idu/Fa9ix/MuBo6GoapWxXN7Jfr+hSBhtr+vhZVlPAmTm1Zn5ZFnulRRf7G/tKZjM/A3wPopT\nJDcACyLiW9FNZ64VPVapq/dDtyJiC+CdwEnl/3ZJ+V7rbZm3AfuVNfW3UiSC37Rbt0+5TW98LTMX\nZubjwC3AqJ52yMxLgY8DB5fHmxsRn+1ml7kUiXBJ+Zo/CBxaPs9/pkh63wTmRMTtEfGmDvufkZl/\nL1+zGyg+J1UcWbYwtN22jIjNgXcBn8iiRWou8G3Kz1FmPpSZvyyPN4/iB8T+FY/XlY6fmyrfEVpJ\nJvHVz3syc8PM3DYzP9qW5CLinRHxh7IpcyHFB7ytefIc4CFgShRN7adC8UEHPkHx4ZsbEZMiYsty\nn22Bn7V9cQD3UyT9zdvF8lS7+38D2jrZbUlRY23T/v62wJbtv5SA0zqU23771ygTyKmZOaLcbzrF\nj5sqTaidlf8TiubnLShq269QJJWOx02Kpt+jy1Xvp6hBAhAR/1r+oGh7Xm/hH/+DbmXmTZn5boqa\n3WEUNb8uO3CtzLHo4v1QwdbAM5n57EqW2XZefCfgkcz8G8WP0rZ16wJ3VoypTVfvxW5l0XHx7RS1\n+JOAL0XEwV1sPrvDD5O/UrzXKRPZyZm5HcV7fDHw/9pt+2xmLu5s3wquKj/zbbcny2MMpPjB0PYe\n+CFFjZyI2Lz8PM8um78vpfr7oysdPzdVviO0kkzia4CIWIciEZ1L0ZS3IXAjRTMfmbkoMz+VmW8A\nxgKfbDufl5mXZ+bbKD6QCXy9LPYJ4J0dvjwGZXEuvidzKJrY2mzd7v4TwKMdyl0/M9v35K089V5m\nzi+f95YUCXAx8Lq2x8va7JCOu3Uo41mKlotxFIl5Uje1yCsoahvbAntQvO6UyxcBJwOblP+Dv1D+\nD3rxfF7JzJspmvjf0lm8FY7V7evX3fuhh32fADZuO7faizI7up2i1eZQ/vFj6V6K98mhwB8z86Wu\nwu/uua2osnZ9NcWpn7d0sdlWHX4obgM82UlZTwDndShno4hYr6d9e+EJilNYm7b7HG1Q/rCFooUu\ngZ0ycwOKUwftY+/4Ovb6c8PKfUeoIpP4mmFtimbxecDSiHgnsPyyqIgYExFvLL+AnqP4tfxKRGwf\nEQeUPwJeojgv+0q52wXAV8qEQUQMiYjDKsZzFfC5iNgoIraiSDZt7gIWRdGhbt2IaImIt/SmOTwi\nvl7uMyCKy7A+AjyUmQuA/wUGRcShETGQovf+OhWKvRz4V4om8s6a0gHIovPZfOBHFJ2iFpYPrUfx\nJTevjPGDdJ0MOj6fwyLiqPL1ioh4K0XT5x/KTZ6m6DvQpqdjPQ0MjYi1uzhep++HLo7V/rnPoehM\neX4Z68CI2K9CmR3Leag8zgTKJF7+aLqzXHd7Z/v1FF9vRdFp8dCIWL/spPVOYARdtwJsBpxSPu8j\nKK4iuLF8Lc4un/9aUXR0+zf+8f9rc3ZErB0R+wJjgKtXNPbyfzEF+GZEbFAed7sornQAWB94AXiu\n/Ax+ukMRHV/HFfncrMx3hCoyia8BMnMRxSUtVwHPUtQmr2u3yZsoOoO9ANwBnJ+Zt1B8SL9GkZSe\noviS+ly5z3fKMqZExCKKL6Q9Kob0RWAWRQemXwGTKWoNZHG97xiKc5aP8o+E+PpePOXXUXTqWUjR\nKW5bitofmfkc8NGyzNkUNYxZnRfzKtdRvE5PZXGOvzuXA2+nXbLPzPsozofeQfEFuRNF57sqngWO\npziv3db0eU5mtjXVX0zRb2FhRFxT4Vi/pqjZPhUR8zs5XlfvByg6qJ1eHuv/drLveIrz3w9QnCP+\nRIUyO3M7RU2vfdy/oXgPdpfEv0PREvJsRHy3m+2qeJ7iVM7jFO+lbwAfybJXeSfupHie84GvAIeX\nPxxfpuiA96uyzL9QvN+Pa7fvUxT/5ycpTsGclJkPrGT8/0rxA/6+suzJFP0SoOgkuSvFD6obgJ92\n2PdV/+cV/NyszHeEKmrrcSo1TUR8BDgqM1e2Y41UOxExmqKH+dCetpU6siaufhcRW0TEPmUT3/bA\npyhqzpKkXrCrv5phbYqessMpmiknAec3NSJJqiGb0yVJqimb0yVJqqmGNqdHxGPAIorLSZZmZmsU\nY+deSdFb8zHgyC4Gh5AkSd1oaHN6mcRbywE32tZ9g2JUp6+VozZtlJndDWXIpptumsOGDWtYnJIk\nrUqmTZs2PzM7DqjzGs3o2HYYxWD6ABMpJhHoNokPGzaMqVOnNjYqSZJWERHx1yrbNfqceFJc6D8t\niikToRj2c055/ym6GEc3Ik6IiKkRMXXevHkNDlOSpPppdE38bZk5OyI2A34ZEa8agSgzMyI6bc/P\nYt7eCwFaW1vtQi9JUgcNrYm3DXRfToP3M4ppBZ+OYjaotqkL5zYyBkmSVlcNq4mXM/KslZmLyvsH\nUYyZfR1wLMWY3McC1zYqBklaEyxZsoRZs2bx0ktdTe6mVdWgQYMYOnQoAwcOXKH9G9mcvjnFXLJt\nx7k8M/8nIv4IXBURH6KYM7fqxPeSpE7MmjWL9ddfn2HDhvHq2VC1KstMFixYwKxZsxg+fPgKldGw\nJJ6Zj1DMCdxx/QKgq3mEJUm99NJLL5nAaygi2GSTTViZztuO2CZJqwETeD2t7P/NJC5JWmktLS2M\nGjWKESNGMHLkSL75zW/yyiuvADB16lROOeWUTvcbNmwY8+d3Nq1971xzzTXcd999K11Ob7zrXe9i\n4cKF/XrMjpzFTJJWN31dK68wsue6667L9OnTAZg7dy7vf//7ef755zn77LNpbW2ltbW1b2Pq4Jpr\nrmHMmDHsuOOOfVrusmXLaGlp6fSxG2+8sU+PtSKsiUuS+tRmm23GhRdeyPe//30yk1tvvZUxY8YA\nsGDBAg466CBGjBjBhz/8Yboa+nvw4MF8/vOfZ+TIkey55548/fTTADz22GMccMAB7Lzzzhx44IE8\n/vjj/P73v+e6667j05/+NKNGjeLhhx9+VVlXX301b3nLWxg5ciT77bcfAJdccgknn3zy8m3GjBnD\nrbfeuvzYn/rUpxg5ciRf/epXOeKII5Zv1/65tLUinHrqqZx33nnLtznrrLM499xzATjnnHPYfffd\n2XnnnTnzzDNX5mXtlElcktTn3vCGN7Bs2TLmzn31UCBnn302b3vb27j33nt573vfy+OPP97p/osX\nL2bPPfdkxowZ7Lffflx00UUAfPzjH+fYY4/lnnvu4ZhjjuGUU05h7733ZuzYsZxzzjlMnz6d7bbb\n7lVlffGLX+QXv/gFM2bM4Lrrrusx9sWLF7PHHnswY8YMTj31VO68804WL14MwJVXXslRRx31qu3H\njRvHVVddtXz5qquuYty4cUyZMoWZM2dy1113MX36dKZNm8btt9/e84vXCyZxSVK/uf322/nABz4A\nwKGHHspGG23U6XZrr7328hrvbrvtxmOPPQbAHXfcwfvf/34Axo8fz29/+9sej7nPPvtw3HHHcdFF\nF7Fs2bIet29paeFf/uVfABgwYACHHHIIP//5z1m6dCk33HADhx122Ku232WXXZg7dy5PPvkkM2bM\nYKONNmLrrbdmypQpTJkyhV122YVdd92VBx54gJkzZ/Z4/N7wnLgkqc898sgjtLS0sNlmm3H//ff3\nev+BAwcu77nd0tLC0qVLVziWCy64gDvvvJMbbriB3XbbjWnTpjFgwIDlHe+AVw2UM2jQoFedBz/q\nqKP4/ve/z8Ybb0xrayvrr7/+a45xxBFHMHnyZJ566inGjRsHFNeBf+5zn+PEE09c4dh7YhJfSXF2\n33QgyTMdHl7S6mHevHmcdNJJnHzyya+5hGq//fbj8ssv5/TTT+emm27i2Wef7VXZe++9N5MmTWL8\n+PFcdtll7LvvvgCsv/76LFq0qNN9Hn74YfbYYw/22GMPbrrpJp544gmGDRvG+eefzyuvvMLs2bO5\n6667ujzm/vvvz7/9279x0UUXvaYpvc24ceM4/vjjmT9/PrfddhsABx98MGeccQbHHHMMgwcPZvbs\n2QwcOJDNNtusV8+5OyZxSdJKe/HFFxk1ahRLlixhwIABjB8/nk9+8pOv2e7MM8/k6KOPZsSIEey9\n995ss802vTrO9773PT74wQ9yzjnnMGTIEH784x8DRW35+OOP57vf/S6TJ09+1XnxT3/608ycOZPM\n5MADD2TkyGIcsuHDh7Pjjjuyww47sOuuu3Z5zJaWFsaMGcMll1zCxIkTO91mxIgRLFq0iK222oot\nttgCgIMOOoj777+fvfbaCyg6zF166aV9msSjq56Bq5LW1tZcVecTtyYuqdnuv/9+dthhh2aHoRXU\n2f8vIqZlZo/X5dmxTZKkmjKJS5JUUyZxSZJqyiQuSVJNmcQlSaopk7gkSTVlEpck9YmvfOUrjBgx\ngp133plRo0Zx5513rnSZ1113HV/72tf6ILriOu3VjYO9SNJqpq/Gr2hTZRyLO+64g+uvv567776b\nddZZh/nz5/Pyyy9XKn/p0qUMGNB5Oho7dixjx47tVbxrEmvikqSVNmfOHDbddFPWWWcdADbddFO2\n3HLL5dN1AkydOpXRo0cDxXSd48ePZ5999mH8+PHsueee3HvvvcvLGz16NFOnTl0+Zehzzz3Htttu\nu3y888WLF7P11luzZMkSHn74YQ455BB222039t13Xx544AEAHn30Ufbaay922mknTj/99H58NfqP\nSVyStNIOOuggnnjiCd785jfz0Y9+dPn44d257777+NWvfsUVV1zxquk858yZw5w5c2ht/ceAZa9/\n/esZNWrU8nKvv/56Dj74YAYOHMgJJ5zA9773PaZNm8a5557LRz/6UQAmTJjARz7yEf785z8vHwp1\ndWMSlySttMGDBzNt2jQuvPBChgwZwrhx47jkkku63Wfs2LGsu+66ABx55JFMnjwZKObjPvzww1+z\n/bhx47jyyisBmDRpEuPGjeOFF17g97//PUcccQSjRo3ixBNPZM6cOQD87ne/4+ijjwaKaUtXR54T\nlyT1iZaWFkaPHs3o0aPZaaedmDhx4qum/Gw/3SfAeuutt/z+VlttxSabbMI999zDlVdeyQUXXPCa\n8seOHctpp53GM888w7Rp0zjggANYvHgxG264IdOnT+80po6zqK1urIlLklbagw8+yMyZM5cvT58+\nnW233ZZhw4Yxbdo0AH7yk590W8a4ceP4xje+wXPPPcfOO+/8mscHDx7M7rvvzoQJExgzZgwtLS1s\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc0cd7f50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'SibSp', [\"Sex == 'female'\", \"Pclass == 3\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到独自一人的底层阶级女性更容易存活，将其作为决策条件之一。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def predictions_tmp2(data):\n",
    "    \"\"\" 考虑五个特征: \n",
    "            - 如果是女性并处于中上阶级则生还\n",
    "            - 如果是底层女性并且独自一人则生还\n",
    "            - 如果是男性并且小于10岁则生还 \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # TODO 3\n",
    "        # 移除下方的 'pass' 声明\n",
    "        # 输入你自己的预测条件\n",
    "        if passenger['Sex'] == 'female':\n",
    "            if passenger['Pclass'] < 3:\n",
    "                predictions.append(1)\n",
    "            elif passenger['SibSp'] == 0 and passenger['Parch'] == 0:\n",
    "                predictions.append(1)\n",
    "            else:\n",
    "                predictions.append(0)\n",
    "        elif passenger['Age'] < 10:\n",
    "            predictions.append(1)\n",
    "        else:\n",
    "            predictions.append(0)\n",
    "    \n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# 进行预测\n",
    "predictions = predictions_tmp2(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 80.92%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "很好，达到了我想要的效果，准确率提升了。\n",
    "\n",
    "既然阶级和是否独自一人影响着女性，也可以看看对男性的影响。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 对于男性，阶级的影响"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nJy+rJKkLBnkveutb38ratWtZsmTJ66ZfdNFFHHLIIdx///28733v44knnmj38atXr+aAAw5g/vz5\nHHbYYVx++eUAfPzjH+e0007jvvvu49RTT+Xcc8/loIMOYvz48Vx88cXMmzePXXfd9XXL+uIXv8jP\nf/5z5s+fz80339xl7atXr2b//fdn/vz5nHfeecyePZvVq1cDcN1113HyySe/bv6JEydy/fXXr7t9\n/fXXM3HiRGbOnMnDDz/MPffcw7x585g7dy6zZs3q+sWTJK0Xg7wPzJo1iw9+8IMAHH/88Wy99dbt\nzrfpppuu6/nuu+++PP744wDcfffdfOADHwBg0qRJ/OY3v+myzYMPPpjTTz+dyy+/nLVr13Y5f1NT\nE//wD/8AwIABAzj22GP5yU9+wiuvvMKtt97KCSec8Lr59957b5YsWcJTTz3F/Pnz2Xrrrdlpp52Y\nOXMmM2fOZO+992afffbhwQcf5OGHH+6yfUnS+uk/28g3AI8++ihNTU1st912PPDAA91+/MCBA9eN\n6G5qauKVV15Z71ouu+wyZs+eza233sq+++7L3LlzGTBgwLrBeMDrdgEbNGjQ67aLn3zyyVx66aVs\ns802NDc3M2TIkDe0MWHCBGbMmMHTTz/NxIkTgWI/8c9+9rOcffbZ6127JKl29sh7ydKlSznnnHP4\n2Mc+9obdqw477DCuueYaAH7605/y3HPPdWvZBx10ENOnTwfg6quv5tBDDwVgyJAhrFy5st3HPPLI\nI+y///588YtfZNiwYSxcuJARI0Ywb948Xn31VRYuXMg999zTYZuHH3449957L5dffvkbVqu3mDhx\nItOnT2fGjBnrtqkfc8wxfP/732fVqlUAPPnkk2/Y1CCJYoDuxnBR3dkj74GXXnqJsWPHsmbNGgYM\nGMCkSZP4xCc+8Yb5pkyZwimnnMKoUaM46KCD2HnnnbvVzne+8x3OOOMMLr74YoYNG8YPfvADoOg1\nn3nmmXz7299mxowZr9tO/qlPfYqHH36YzOSoo45izJgxAIwcOZI99tiD3XffnX322afDNpuamhg3\nbhzTpk3jyiuvbHeeUaNGsXLlSnbccUe23357AI4++mgeeOABDjzwQKAYRHfVVVex3Xbbdes5S5Jq\nEx2NoN6QNDc3Z9vzkT/wwAPsvvvuDapIPeX7p43extJbrUDGbIgiYm5m1rQPs6vWJUmqMINckqQK\nM8glSaowg1ySpAozyCVJqjCDXJKkCjPIe+jLX/4yo0aNYvTo0YwdO5bZs2f3eJk333wzX/va13qh\numI/bklS/9VvDggTF/XuPpk5pet9H++++25uueUW7r33XjbbbDOWLVvG3/72t5qW/8orrzBgQPsv\n//jx4xk/fny36pUkbZzskffA4sWL2Xbbbdlss80A2Hbbbdlhhx3WneoTYM6cORxxxBFAcarPSZMm\ncfDBBzNp0iQOOOAA7r///nXLO+KII5gzZ866040+//zz7LLLLuuOj7569Wp22mkn1qxZwyOPPMKx\nxx7Lvvvuy6GHHsqDDz4IwGOPPcaBBx7IXnvtxQUXXNCHr4YkqREM8h44+uijWbhwIW9/+9v56Ec/\nyp133tnlYxYsWMAvf/lLrr322tedCnTx4sUsXryY5ubXDuTz5je/mbFjx65b7i233MIxxxzDwIED\nOeuss/jOd77D3LlzueSSS/joRz8KwOTJk/nIRz7Cn/70p3WHTZUk9V8GeQ9sueWWzJ07l6lTpzJs\n2DAmTpzItGnTOn3M+PHjGTx4MAAnnXQSM2bMAIrzeZ944olvmH/ixIlcd911AEyfPp2JEyeyatUq\nfve73zFhwgTGjh3L2WefzeLFiwH47W9/yymnnAIUpzyVJPVv/WYbeaM0NTVxxBFHcMQRR7DXXntx\n5ZVXvu50oa1PFQqwxRZbrLu+4447MnToUO677z6uu+46Lrvssjcsf/z48Zx//vk8++yzzJ07lyOP\nPJLVq1ez1VZbMW/evHZranv2NUlS/2WPvAceeughHn744XW3582bxy677MKIESOYO3cuADfeeGOn\ny5g4cSJf//rXef755xk9evQb7t9yyy3Zb7/9mDx5MuPGjaOpqYk3velNjBw5khtuuAEozgE+f/58\nAA4++ODXnfJUktS/GeQ9sGrVKk477TT22GMPRo8ezYIFC7jwwguZMmUKkydPprm5maampk6XceKJ\nJzJ9+nROOumkDueZOHEiV111FRMnTlw37eqrr+aKK65gzJgxjBo1ih//+McAfOtb3+K73/0ue+21\nF08++WTvPFFJ0gbL05iqIXz/tNHbWDaBVSBjNkSexlSSpI2EQS5JUoUZ5JIkVVjdgjwivh8RSyLi\nz62mXRwRD0bEfRHxo4jYqidtVGH7vt7I902Sek89e+TTgGPbTPsFsGdmjgb+G/js+i580KBBLF++\n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\nqjCDXJKkCjPIJUmqMINckqQKM8glSaowg1ySpAozyCVJqjCDXJKkCjPIJUmqMINckqQKM8glSaqw\nPg/yiNgpIm6PiAURcX9ETO7rGiRJ6i8GNKDNV4BPZua9ETEEmBsRv8jMBQ2oRZKkSuvzHnlmLs7M\ne8vrK4EHgB37ug5JkvqDRvTI14mIEcDewOx27jsLOAtg55137tO6+ou4KBpdQp/IKdnoEiSpYRo2\n2C0itgRuBP45M19oe39mTs3M5sxsHjZsWN8XKElSBTQkyCNiIEWIX52ZP2xEDZIk9QeNGLUewBXA\nA5n5zb5uX5Kk/qQRPfKDgUnAkRExr7wc14A6JEmqvD4f7JaZvwE2jlFYkiTVmUd2kySpwgxySZIq\nzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswg\nlySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJck\nqcIMckmSKswglySpwgxySZIqzCCXJKnCDHJJkirMIJckqcIMckmSKswglySpwgxySZIqzCCXJKnC\nDHJJkirMIJckqcIMckmSKswglySpwgxySZIqrCFBHhHHRsRDEfGXiDivETVIktQf9HmQR0QT8F3g\n3cAewCkRsUdf1yFJUn/QiB75O4C/ZOajmfk3YDpwQgPqkCSp8hoR5DsCC1vdXlROkyRJ3TSg0QV0\nJCLOAs4qb66KiIcaWY9qti2wrC8bjAujL5tT/fkZ6k8ubEir/eEztEutMzYiyJ8Edmp1e3g57XUy\ncyowta+KUu+IiDmZ2dzoOlRdfobUUxvbZ6gRq9b/ALwtIkZGxKbAycDNDahDkqTK6/MeeWa+EhEf\nA34ONAHfz8z7+7oOSZL6g4ZsI8/M24DbGtG26s7NIeopP0PqqY3qMxSZ2egaJEnSevIQrZIkVZhB\nrl4REd+PiCUR8edG16JqioidIuL2iFgQEfdHxORG16RqiYhBEXFPRMwvP0MXNbqmvuCqdfWKiDgM\nWAX8/5m5Z6PrUfVExPbA9pl5b0QMAeYC783MBQ0uTRUREQFskZmrImIg8Btgcmb+vsGl1ZU9cvWK\nzJwFPNvoOlRdmbk4M+8tr68EHsCjPqobsrCqvDmwvPT73qpBLmmDExEjgL2B2Y2tRFUTEU0RMQ9Y\nAvwiM/v9Z8ggl7RBiYgtgRuBf87MFxpdj6olM9dm5liKo4a+IyL6/aY+g1zSBqPcrnkjcHVm/rDR\n9ai6MnMFcDtwbKNrqTeDXNIGoRyodAXwQGZ+s9H1qHoiYlhEbFVeHwy8C3iwsVXVn0GuXhER1wJ3\nA7tFxKKI+FCja1LlHAxMAo6MiHnl5bhGF6VK2R64PSLuozivxy8y85YG11R37n4mSVKF2SOXJKnC\nDHJJkirMIJckqcIMckmSKswglySpwgxyaSMQEWvL3bn+HBE3RMTmncx7YUT8376sT9L6M8iljcNL\nmTm2PDPd34BzGl2QpN5hkEsbn7uAvwOIiH+MiPvK8zf/V9sZI+LMiPhDef+NLT35iJhQ9u7nR8Ss\nctqo8lzQ88plvq1Pn5W0kfKAMNJGICJWZeaWETGA4ljmPwNmAT8CDsrMZRGxTWY+GxEXAqsy85KI\nGJqZy8tl/AvwTGZ+JyL+BBybmU9GxFaZuSIivgP8PjOvjohNgabMfKkhT1jaiNgjlzYOg8tTO84B\nnqA4pvmRwA2ZuQwgM9s7n/yeEXFXGdynAqPK6b8FpkXEmUBTOe1u4PyI+AywiyEu9Y0BjS5AUp94\nqTy14zrFOUq6NA14b2bOj4jTgSMAMvOciNgfOB6YGxH7ZuY1ETG7nHZbRJydmb/uxecgqR32yKWN\n16+BCRExFCAitmlnniHA4vL0oqe2TIyIXTNzdmZ+AVgK7BQRbwUezcxvAz8GRtf9GUiyRy5trDLz\n/oj4MnBnRKwF/gic3ma2zwOzKcJ6NkWwA1xcDmYL4FfAfOAzwKSIWAM8DXyl7k9CkoPdJEmqMlet\nS5JUYQa5JEkVZpBLklRhBrkkSRVmkEuSVGEGuSRJFWaQS5JUYQa5JEkV9v8AAIsP+iHke3gAAAAA\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc099e850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Pclass', [\"Sex == 'male'\", \"Age < 10\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n//KXv8xjjz1GZnLAAQcwatQoALbaait22GEHtt9+e3bZZcV7R1paWjjssMO45JJLuPTSSzucZsSI\nESxatIjNN9+cTTctvqMdeOCBPPzww7z//e8HisF7P//5z9l4441X6jFLkuoTKxq53WsriFgXuBP4\ndmb+IiJeysz1au5/MTPXj4gbgXMy83dl+23AVzNzWrvlnQScBDBs2LBd//KX5U+L+/DDD7P99ts3\n9DGpcfz/abW3uvRuG5w9VRYR0zOzy99bN3QUfUQMBK4FLsvMX5TNz7Vtei//tm2nnQtsUTP70LJt\nOZk5KTNbM7N1yJAhjStekqR+rJGj6AO4CHg4M39Qc9cNwHHl9eOAX9a0f6ocTb8H8HLNpnxJkrQS\nGrkPfi9gPPDniJhRtp0OnANcFRGfBv4CHFXedzNwCPA48BpwQgNrkySp0hoW8OW+9BXtTDqgg+kT\n+Hyj6pEkaXXikewkSaogA16SpAoy4Bvk29/+NiNGjGDkyJGMHj2aqVOn9niZN9xwA+ecc04vVFf8\nDl2SVF2VP11snNW7vynNiV3/dvPuu+/mxhtv5L777mOttdbi+eef529/+1tdy3/zzTcZMKDjf8vY\nsWMZO3bsStUrSVo92YNvgHnz5rHRRhux1lprAbDRRhux2WabLTulKsC0adMYM2YMUJxSdfz48ey1\n116MHz+ePfbYgwcffHDZ8saMGcO0adOWndb15ZdfZsstt1x2/PjFixezxRZbsGTJEmbNmsXBBx/M\nrrvuyj777MMjjzwCwJNPPsn73/9+dtppJ84444w+fDYkSc1gwDfAgQceyOzZs3nve9/L5z73Oe68\n884u53nooYf47W9/yxVXXLHcKVfnzZvHvHnzaG19+6BF73nPexg9evSy5d54440cdNBBDBw4kJNO\nOokf/ehHTJ8+nfPOO4/Pfe5zAEyYMIHPfvaz/PnPf152+FhJUnUZ8A2w7rrrMn36dCZNmsSQIUMY\nN24cl1xySafzjB07lrXXXhuAo446imuuuQYozqd+xBFHvGP6cePGceWVVwIwefJkxo0bx6uvvsof\n/vAHjjzySEaPHs3JJ5/MvHnFsYJ+//vfc8wxxwDFqWUlSdVW+X3wzdLS0sKYMWMYM2YMO+20E5de\neulyp2WtPSUrwDrrrLPs+uabb86GG27I/fffz5VXXskFF1zwjuWPHTuW008/nRdeeIHp06ez//77\ns3jxYtZbbz1mzJjxjumBd5zNTpJUXfbgG+DRRx/lscceW3Z7xowZbLnllgwfPpzp06cDcO2113a6\njHHjxvG9732Pl19+mZEjR77j/nXXXZfddtuNCRMmcNhhh9HS0sK73/1uttpqK66++mqgOAf7zJkz\nAdhrr72WO7WsJKnaDPgGePXVVznuuOPYYYcdGDlyJA899BBnnnkmEydOZMKECbS2ttLS0tLpMo44\n4ggmT57MUUcdtcJpxo0bx89//nPGjRu3rO2yyy7joosuYtSoUYwYMYJf/rI41P8Pf/hDfvKTn7DT\nTjsxd+47zuEjSaqYhp8utpFaW1tz2rTlzibr6Ub7Of9/Wu2tLrvS+nH2NNsqcbpYSZLUHAa8JEkV\nZMBLklRBlQz4/jyuYHXm/02Sek/lAn7QoEEsXLjQsOhnMpOFCxcyaNCgZpciSZVQuQPdDB06lDlz\n5rBgwYJml6KVNGjQIIYOHdrsMiSpEioX8AMHDmSrrbZqdhmSJDVV5TbRS5IkA16SpEoy4CVJqiAD\nXpKkCjLgJUmqIANekqQKMuAlSaogA16SpAoy4CVJqiADXpKkCjLgJUmqIANekqQKaljAR8TFETE/\nIh6oabsyImaUl6ciYkbZPjwiXq+574JG1SVJ0uqgkWeTuwT4MfDvbQ2ZOa7tekR8H3i5ZvpZmTm6\ngfVIkrTaaFjAZ+aUiBje0X0REcBRwP6NWr8kSauzZu2D3wd4LjMfq2nbKiL+FBF3RsQ+K5oxIk6K\niGkRMW3BggWNr1SSpH6oWQF/DHBFze15wLDM3Bn4InB5RLy7oxkzc1JmtmZm65AhQ/qgVEmS+p8+\nD/iIGAB8DLiyrS0z/5qZC8vr04FZwHv7ujZJkqqiGT34DwCPZOactoaIGBIRLeX1rYFtgSeaUJsk\nSZXQyJ/JXQHcDWwXEXMi4tPlXUez/OZ5gH2B+8ufzV0DnJKZLzSqNkmSqq6Ro+iPWUH78R20XQtc\n26haJEla3XgkO0mSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIq\nyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiA\nlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJck\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dc0b35310>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Pclass', [\"Sex == 'male'\", \"Age > 10\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "小于十岁的男性，处于中上阶级的全部存活\n",
    "\n",
    "而大于十岁的男性中，存活率都很低\n",
    "\n",
    "因此，阶级也可以作为小于十岁男性的生存率决策条件。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def predictions_tmp3(data):\n",
    "    \"\"\" 考虑六个特征: \n",
    "            - 如果是女性并处于中上阶级则生还\n",
    "            - 如果是底层女性并且独自一人则生还\n",
    "            - 如果是男性并且小于10岁并且处于中上阶级则生还\n",
    "            \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # TODO 3\n",
    "        # 移除下方的 'pass' 声明\n",
    "        # 输入你自己的预测条件\n",
    "        if passenger['Sex'] == 'female':\n",
    "            if passenger['Pclass'] < 3:\n",
    "                predictions.append(1)\n",
    "            elif passenger['SibSp'] == 0 and passenger['Parch'] == 0:\n",
    "                predictions.append(1)\n",
    "            else:\n",
    "                predictions.append(0)\n",
    "        elif passenger['Age'] < 10:\n",
    "            if passenger['Pclass'] < 3:\n",
    "                predictions.append(1)\n",
    "            else:\n",
    "                predictions.append(0)\n",
    "        else:\n",
    "            predictions.append(0)\n",
    "    \n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# 进行预测\n",
    "predictions = predictions_tmp3(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 81.48%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def predictions_3(data):\n",
    "    \"\"\" 考虑六个特征: \n",
    "            - 如果是女性并处于中上阶级则生还\n",
    "            - 如果是底层女性并且独自一人则生还\n",
    "            - 如果是男性并且小于10岁并且处于中上阶级则生还\n",
    "            \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # TODO 3\n",
    "        # 移除下方的 'pass' 声明\n",
    "        # 输入你自己的预测条件\n",
    "        if passenger['Sex'] == 'female':\n",
    "            if passenger['Pclass'] < 3:\n",
    "                predictions.append(1)\n",
    "            elif passenger['SibSp'] == 0 and passenger['Parch'] == 0:\n",
    "                predictions.append(1)\n",
    "            else:\n",
    "                predictions.append(0)\n",
    "        elif passenger['Age'] < 10:\n",
    "            if passenger['Pclass'] < 3:\n",
    "                predictions.append(1)\n",
    "            else:\n",
    "                predictions.append(0)\n",
    "        else:\n",
    "            predictions.append(0)\n",
    "    \n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# 进行预测\n",
    "predictions = predictions_3(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**问题4**：请描述你实现80%准确度的预测模型所经历的步骤。您观察过哪些特征？某些特性是否比其他特征更有帮助？你用了什么条件来预测生还结果？你最终的预测的准确率是多少？\n",
    "\n",
    "**回答**：\n",
    "1. 我观察过性别、年龄、阶级、乘客在船上兄弟姐妹、父母孩子的数量。\n",
    "2. 性别是最重要的特征，比其他特征更有帮助，女性存活率明显高于男性。阶级是次重要的特征，上层阶级的存活率高于底层阶级，无论是对于男性，还是对于女性。\n",
    "3. 我使用的条件如下：\n",
    "    - 如果是女性并处于中上阶级则生还\n",
    "    - 如果是底层女性并且独自一人则生还\n",
    "    - 如果是男性并且小于10岁并且处于中上阶级则生还\n",
    "\n",
    "4. 最终的准确率为81.48%\n",
    "\n",
    "**提示**：你需要在下面添加一个代码区域，实现代码并运行来计算准确率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 81.48%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 结论\n",
    "\n",
    "经过了数次对数据的探索和分类，你创建了一个预测泰坦尼克号乘客存活率的有用的算法。在这个项目中你手动地实现了一个简单的机器学习模型——决策树（*decision tree*）。决策树每次按照一个特征把数据分割成越来越小的群组（被称为 *nodes*）。每次数据的一个子集被分出来，如果分割后新子集之间的相似度比分割前更高（包含近似的标签），我们的预测也就更加准确。电脑来帮助我们做这件事会比手动做更彻底，更精确。[这个链接](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/)提供了另一个使用决策树做机器学习入门的例子。  \n",
    "\n",
    "决策树是许多**监督学习**算法中的一种。在监督学习中，我们关心的是使用数据的特征并根据数据的结果标签进行预测或建模。也就是说，每一组数据都有一个真正的结果值，不论是像泰坦尼克号生存数据集一样的标签，或者是连续的房价预测。\n",
    "\n",
    "**问题5**：想象一个真实世界中应用监督学习的场景，你期望预测的结果是什么？举出两个在这个场景中能够帮助你进行预测的数据集中的特征。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**回答**: \n",
    "\n",
    "比如对于一支足球队，希望预测的结果是下一场比赛是否会获胜。\n",
    "\n",
    "特征：\n",
    "\n",
    "1. 足球队的球员总价\n",
    "\n",
    "2. 足球队的教练周薪"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **注意**: 当你写完了所有**5个问题，3个TODO**。你就可以把你的 iPython Notebook 导出成 HTML 文件。你可以在菜单栏，这样导出**File -> Download as -> HTML (.html)** 把这个 HTML 和这个 iPython notebook 一起做为你的作业提交。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "翻译：毛礼建 ｜ 校译：黄强 ｜ 审译：曹晨巍"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
